<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
 <meta>
  <!-- Stylesheets -->
  <link href="../web.css" type="text/css" rel="stylesheet"></link>
  <link href="../pygmentize.css" type="text/css" rel="stylesheet"></link>
  <title>VLFeat - Documentation - Matlab API - VL_HARRIS</title>
  

  <!-- Scripts-->
  
 </meta>

 <!-- Body Start -->
 <body>
  <div id="header">
   <!-- Google CSE Search Box Begins -->
   <form action="http://www.vlfeat.org/search.html" method="get" id="cse-search-box" enctype="application/x-www-form-urlencoded">
    <div>
     <input type="hidden" name="cx" value="003215582122030917471:oq23albfeam"></input>
     <input type="hidden" name="cof" value="FORID:11"></input>
     <input type="hidden" name="ie" value="UTF-8"></input>
     <input type="text" name="q" size="31"></input>
     <input type="submit" name="sa" value="Search"></input>
    </div>
   </form>
   <script src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en" xml:space="preserve" type="text/javascript"></script>
   <!-- Google CSE Search Box Ends -->
   <h1><a shape="rect" href="../index.html" class="plain"><span id="vlfeat">VLFeat</span><span id="dotorg">.org</span></a></h1>
  </div>
  <div id="headbanner">
   Documentation - Matlab API - VL_HARRIS
  </div>
  <div id="pagebody">
   <div id="sidebar"> <!-- Navigation Start -->
    <ul>
<li><a href="../index.html">Home</a>
</li>
<li><a href="../download.html">Download</a>
</li>
<li><a href="../doc.html">Documentation</a>
<ul>
<li><a href="mdoc.html">Matlab API</a>
</li>
<li><a href="../api/index.html">C API</a>
</li>
<li><a href="../man/man.html">Man pages</a>
</li>
</ul></li>
<li><a href="../overview/tut.html">Tutorials</a>
</li>
<li><a href="../applications/apps.html">Applications</a>
</li>
</ul>

   </div> <!-- sidebar -->
   <div id="content">
    <div class="mdoc">
<ul class="breadcrumb"><li><a href="mdoc.html">Index</a></li><li><a href="VL_DEMO.html">Prev</a></li><li><a href="VL_HELP.html">Next</a></li></ul><div class="documentation"><p>
H = <a href="VL_HARRIS.html">VL_HARRIS</a>(I,SI) computes the Harris corner strength of the image I
at ``integration'' scale SI.
</p><p>
The Harris strength [1] of a pixel is a statistic of the gradient
of the image integrated in a neighborhood of that pixel. This
neighborhood is a Gaussian window of variance SI.
</p><p>
In computing the Harris corner strength, there is a second scale
parameter, the ``derivation'' scale SD, which is the variance of
the Gaussian kernel used to pre-smooth the image I before computing
its gradient. SI and SD are independent parameters and <a href="VL_HARRIS.html">VL_HARRIS</a>(I,SI)
assumes that I is already smoothed at level SD.
</p><p>
<a href="VL_HARRIS.html">VL_HARRIS</a>(I,SI) uses Noble's variation [2] of the Harris score. If
SIGMAP and SIGMAM are respectively the biggest and smallest
eigenvalue of the structure tensor at a pixel, the score is given
by (SIGMAP*SIGMAM) / (SIGMAP+SIGMAM/2).  Let GAMMA = SIGMAM/SIGMAP
the ratio between the eigenvalues, which measures the degree of
anisotropy of the tensor and is always comprised in the range
[0,1].  Noble's score can be decomposed in two factors: the biggest
eigenvalue SIGMAP and the number
</p><pre>
  RHO = (2 GAMMA) / (GAMMA + 1).
</pre><p>
RHO is another measure of isotropy that has value one for a
symmetric tensor and and zero for maximally anisotropic tensor.
[H,DETAILS] = <a href="VL_HARRIS.html">VL_HARRIS</a>(I,SIGMA) returns the additional structure
DETAILS with the following fields:
</p><pre>
  DETAILS.SIGMAP
  DETAILS.RHO
</pre><p>
<a href="VL_HARRIS.html">VL_HARRIS</a>(I,SI,ALPHA) uses Harris' original score [1], defined to be
SIGMAP*SIGMAM - ALPHA*(SIGMAP+SIGMAM)^2. This can be decomposed in
the factors SIGMAP^2 (note the square) and
</p><pre>
  RHO = GAMMA - ALPHA (1+GAMMA)^2.
</pre><p>
Note that RHO is equal to -ALPHA for a maximally anisotropic
tensor. Typically ALPHA=0.04 and this is what is used by
<a href="VL_HARRIS.html">VL_HARRIS</a>(I,SI,[]).
</p><p>
REMARK. The gradient of the image I, used to compute the structure
tensor, is computed using central differencies. This means that a
function line [+1,-1,+1,...] has null Harris' score. This is
generally assumed to be a sampling artifact, and might be
avoided by oversampling the image.
</p><dl><dt>
EXAMPLE
</dt><dd><p>
To extacts Harris points from image I:
</p><pre>
  idx = vl_localmax( vl_harris( vl_imsmooth( I, sd ), si ) ) ;
  [i,j] = ind2sub( size(I), idx )
</pre></dd><dt>
REFERENCES
</dt><dd><p>
[1] C. Harris and M. Stephens, &quot;A combined corner and edge detector,&quot;
in Proceedings of The Fourth Alvey Vision Conference, pp. 147-151,
1988.
</p><p>
[2] J. A. Noble, &quot;Finding corners, &quot;Image Vision Computing, vol. 6,
no. 2, pp. 121-128, 1988.
</p></dd></dl><p>
See also: <a href="VL_HELP.html">VL_HELP</a>().
</p></div></div>
   </div>
   <div class="clear">&nbsp;</div>
  </div> <!-- pagebody -->
  <div id="footer">
   &copy; 2007-12 Andrea Vedaldi and Brian Fulkerson
  </div> <!-- footer -->

  <!-- Google Analytics Begins -->
  <script xml:space="preserve" type="text/javascript">
   //<![CDATA[
    var localre = /vlfeat.org/;
    if(document.location.host.search(localre) != -1)
    {
   var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
   document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
   }
   //]]>
  </script>
  <script xml:space="preserve" type="text/javascript">
    //<![CDATA[
    var localre = /vlfeat.org/;
    if(document.location.host.search(localre) != -1)
    {

   try {
   var pageTracker = _gat._getTracker("UA-4936091-2");
   pageTracker._trackPageview();
   } catch(err) {}

   }
   //]]>
  </script>
  <!-- Google Analytics Ends -->
 </body>
</html>

 